#include <stdio.h>

// 当一个数组名作为函数的形参的时候，其实是一个指针变量名
//void test(int a[10])
//void test(int a[])
void test(int *a)
{
    a[5] = 50;
}

void test1(const int *a)
    //为了不让函数内部修改数组成员的值，加上const
{
    printf("%lu\n", sizeof(a));
    
    //强行改变，const在c语言里面不安全
    int *p = (int *)a;
    p[5] = 100;
    //a[5] = 50;
}

int *test2()//函数的返回类型是指针类型
{
    return NULL;
}

int main()
{
    int a[10] = {1,2,3,4,5,6,7,8,9,10};

    printf("%lu\n", sizeof(a));
    printf("--------------------\n");
    test1(a);
    int i;
    for(i = 0; i < 10; i++)
    {
        printf("a[%d] = %d\n", i, a[i]);
    }
    return 0;
}

